#include <stdio.h>
#include <string.h>

// 定义Student结构体
struct Person
{
  char name[20]; // 姓名
  int age;       // 年龄
  float height;  // 身高
};

int main()
{
  struct Person people[2];

  struct Person *ptr = people; // 指针指向数组首元素

  // 初始化结构体数组中的成员
  strcpy(people[0].name, "张三");
  people[0].age = 18;
  people[0].height = 1.75;

  strcpy(people[1].name, "李四");
  people[1].age = 19;
  people[1].height = 1.80;

  // 方式1：图中的下标访问方式
  printf("===== 下标访问方式 =====\n");
  // 遍历结构体数组并输出成员
  for (int i = 0; i < 2; i++)
  {
    printf("姓名: %s\n", people[i].name);
    printf("年龄: %d\n", people[i].age);
    printf("身高: %.2f\n", people[i].height);
    printf("\n");
  }

  // 方式2：指针访问方式
  printf("===== 指针访问方式 =====\n");
  for (int i = 0; i < 2; i++)
  {
    printf("姓名: %s\n", (ptr + i)->name);
    printf("年龄: %d\n", (ptr + i)->age);
    printf("身高: %.2f\n", (ptr + i)->height);
    printf("\n");
  }

  return 0;
}